package interfaces.model;

/***
 * This Rule interface is used to determine what state a cell becomes
 * after every step.
 * 
 * @author eli
 */

public interface Rule {
	
	/**
	 * Checks the input cell's location, state, and state of neighboring
	 * cells. From this information, loops through all of the rules in place
	 * to determine which applies, and outputs the state implied by the 
	 * matching rule.
	 * 
	 * @param c
	 * @return String state
	 */
	public String checkRule(Cell c);
}
